package com.csu.dao;

import com.csu.bean.Member;

import java.util.List;


public interface MemberDao {

	/**
	 * 登录时查询用户类型用户名密码是否匹配
	 * @param type 用户类型
	 * @param acct 用户名
	 * @param pwd  密码
	 * @return int 1表示匹配，0表示不匹配
	 */
	int loginSelect(int type, String acct, String pwd);
	
	/**
	 * 注册时查询用户名是否存在
	 * @param acct 用户名
	 * @return int 1表示存在，0表示不存在
	 */
	int findUser(String acct);
	
	/**
	 * 注册时插入新用户
	 * @param type 用户类型
	 * @param acct 用户名
	 * @param pwd 类型
	 * @return int 1表示成功，0表示失败
	 */
	int insertUser(int type, String acct, String pwd);
	
	/**
	 * 修改密码时查询用户名密码是否匹配
	 * @param acct 用户名
	 * @return int 1表示匹配，0表示不匹配
	 */
	int findPwd(String acct, String pwd);
	
	/**
	 * 修改密码时更新密码
	 * @param acct 用户名
	 * @param newPwd 新密码
	 * @return int 1表示成功，0表示失败
	 */
	int updatePwd(String acct, String newPwd);
	
	/** 
	 * 删除用户
	 * @param acct 用户名
	 * @return int 1表示成功，0表示失败
	 */
	int deleteUser(String acct);
	
	/**
	 * 更改用户名和用户类型
	 * @param orgAcct 初始用户名
	 * @param newAcct 新用户名
	 * @param newType 用户类型
	 * @return int 1表示成功，0表示失败
	 */
	int changeUser(String orgAcct, String newAcct, int newType);
	
	/**
	 * 分页获取成员数据
	 * @param index 从第几条数据开始
	 * @param pageSize 每页条数
	 * @return List<Member> 成员数据
	 */
	List<Member> getMemberByPage(int index, int pageSize);
	
	/**
	 * 根据用户名分页获取成员数据
	 * @param acct 用户名
	 * @param index 从第几条数据开始
	 * @param pageSize 每页条数
	 * @return List<Member> 成员数据
	 */
	List<Member> getMemberByPage(String acct, int index, int pageSize);
	
	/**
	 * 根据用户类型分页获取成员数据
	 * @param type 用户类型
	 * @param index 从第几条数据开始
	 * @param pageSize 每页条数
	 * @return List<Member> 成员数据
	 */
	List<Member> getMemberByPage(int type, int index, int pageSize);
	
	/**
	 * 获取成员总数
	 * @return int 成员总数
	 */
	int getMemberCount();
	
	/**
	 * 根据用户名获取成员总数
	 * @param acct 用户名
	 * @return int 成员总数
	 */
	int getMemberCount(String acct);
	
	/**
	 * 根据用户类型获取成员总数
	 * @param type 用户类型
	 * @return int 成员总数
	 */
	int getMemberCount(int type);
	
}
